<!-- 地图页签 -->

<template>
  <div class="SecureOverview-MapTab inFlexCC">
    <el-tabs v-model="MAP.activeTab">
      <el-tab-pane v-for="[, id, label] in tabDict" :key="id" :name="id" :label="`　${label}　`" />
    </el-tabs>
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MapTab',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [
    CORE.mixBase(),
    CORE.mixInfo('map', 'map_'),
    CORE.mixList('map', 'map_'),
    CORE.mixSelect('device', 'device_'),
  ],

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 页签字典
     */
    tabDict() {
      return CORE.REGION.MY_DICT[0][0]
    },
  },

  /**
   * 创建完成 (先抽取再调用)
   */
  created() {
    this.MAP.activeTab = (this.tabDict[0] || [])[1]
  },

  /**
   * 销毁之前 (先抽取再调用)
   */
  beforeDestroy() {
    this.MAP.activeTab = undefined
  },

  /**
   * 监听属性 (深度 deep 首次 immediate)
   */
  watch: {
    /**
     * 监听激活项
     */
    'MAP.activeTab'(active) {
      // 查询地图信息
      this.map_infoParam.areaId = active
      this.map_startInfo()

      // 查询视频设备
      this.device_selectParam.areaId = active
      this.device_startSelect()

      // 清除视频选中
      this.MAP.chosenList = []
    },
  },
}
</script>

<style lang="scss">
@import './index.scss';
</style>
